The present invention relates in general to the field of computers and similar technologies, and in particular to software utilized in this field.
In distributed computing networks, messages are frequently transmitted in groups from a sending application (originating consumer) to a receiving application (end consumer) via some form of messaging middleware application. Applications send message groups for various reasons, including for example, limitations in the size of a communication channel and workflow scenarios where messages are generated by user events in one sequence.
When a middleware application receives a message group, the messages within the group should are intended to be (or should ideally be) processed as a group and forwarded as a group to the end consumer. However, conventional messaging middleware clusters are not designed to handle message groups and have no way of recognizing and or supporting such message groups. Rather, conventional middleware clusters view each part of a message group as an individual message and routes each message individually to the next available queue, perhaps by utilizing some load balancing mechanism.
Receiving consumer applications are often represented as an application cluster with multiple versions of the same listener. Each listener is then associated with a particular consuming application of multiple consuming applications within the cluster. Conventionally, messages that are meant to be processed together are often inadvertently sent to different consumer applications of an application cluster.
Thus, it is generally not possible to reorganize a message group at a receiving consumer application with conventional messaging middleware applications. This is even more difficult when the messages are transmitted via different channels to the messaging middleware and arrive at the middleware out of sequence (and at different times) relative to other members of the group. Further, with cluster applications comprising multiple consumer applications, the messaging middleware arbitrarily forwards the different members of the message group to different ones of the consumer applications, even when the message group is designed to be handled by a single consumer.